/**
 * 
 */
package com.workable.assignment.domain.rottentomatoes;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.workable.assignment.utilities.StringUtil;

/**
 * @author npapadopoulos
 * 
 */
public class RTMovieReviews extends RTStatus implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -7909923913563083151L;
	private int total;

	private List<RTMovieReviewDetails> reviews;

	private Map<String, String> links;

	@JsonProperty(value = "link_template")
	private String linkTemplate;

	public int getTotal() {
		return total;
	}

	public void setTotal(int total) {
		this.total = total;
	}

	public List<RTMovieReviewDetails> getReviews() {
		return reviews;
	}

	public void setReviews(List<RTMovieReviewDetails> reviews) {
		this.reviews = reviews;
	}

	public Map<String, String> getLinks() {
		return links;
	}

	public void setLinks(Map<String, String> links) {
		this.links = links;
	}

	public String getLinkTemplate() {
		return linkTemplate;
	}

	public void setLinkTemplate(String linkTemplate) {
		this.linkTemplate = linkTemplate;
	}

	@Override
	public String toString() {
		return StringUtil.toString(this);
	}
}

class RTMovieReviewDetails implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 7982489711362195620L;

	private String critic;

	private String date;

	@JsonProperty(value = "original_score")
	private String originalScore;

	public String getOriginalScore() {
		return originalScore;
	}

	public void setOriginalScore(String originalScore) {
		this.originalScore = originalScore;
	}

	private String freshness;

	private String publication;

	private String quote;

	private Map<String, String> links;

	public String getCritic() {
		return critic;
	}

	public void setCritic(String critic) {
		this.critic = critic;
	}

	public String getDate() {
		return date;
	}

	public void setDate(String date) {
		this.date = date;
	}

	public String getFreshness() {
		return freshness;
	}

	public void setFreshness(String freshness) {
		this.freshness = freshness;
	}

	public String getPublication() {
		return publication;
	}

	public void setPublication(String publication) {
		this.publication = publication;
	}

	public String getQuote() {
		return quote;
	}

	public void setQuote(String quote) {
		this.quote = quote;
	}

	public Map<String, String> getLinks() {
		return links;
	}

	public void setLinks(Map<String, String> links) {
		this.links = links;
	}

	@Override
	public String toString() {
		return StringUtil.toString(this);
	}
}